#ifndef INCLUDED_DNKF_INTERNAL_H
#define INCLUDED_DNKF_INTERNAL_H

#include "dnkf.h"

void* dnkf_internal_malloc(D_size_t size);
void* dnkf_internal_realloc(void *ptr, D_size_t size);
void dnkf_internal_free(void *ptr);

void dnkf_internal_throw(const char *msg);

void dnkf_internal_input_clear(void);
void dnkf_internal_input_set_buffer(const void *bufStr, D_size_t bufLen);

void dnkf_internal_output_clear(void);
const D_string dnkf_internal_output_get(void);

int dnkf_internal_getc(void);
void dnkf_internal_putc(int c);

const D_string dnkf_get_option(void);
int dnkf_set_option(D_immutable D_char *optStr, D_size_t optLen);

#endif
